/* Copyright 2012 Alejandro Alonso Mayo
This file is part of jmtools.

jmtools is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

jmtools is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with jmtools.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <jmtools/DateTime.h>

#include <stdio.h>

namespace JMTools
{
	namespace Time
	{
		DateTime::DateTime()
		{
			this->seconds = 0;
		}

		DateTime::DateTime(int seconds)
		{
			this->seconds = seconds;
		}
	
		DateTime::~DateTime()
		{
		}

		DateTime DateTime::now()
		{
			DateTime now(time(NULL));
			return now;
		}

		std::ostream& operator<< (std::ostream& os,const DateTime& t)
		{
		        char buffer[5];
		        struct tm * date = localtime(&t.seconds);
		        sprintf(buffer,"%02d",date->tm_mday);
		        os<<buffer<<"/";
		        sprintf(buffer,"%02d",date->tm_mon+1);
		        os<<buffer<<"/";
		        os<<date->tm_year+1900<<" ";
		        sprintf(buffer,"%02d",date->tm_hour);
		        os<<buffer<<":";
		        sprintf(buffer,"%02d",date->tm_min);
		        os<<buffer<<":";
		        sprintf(buffer,"%02d",date->tm_sec);
		        os<<buffer;
		        return os;
		}
	}
}
